﻿#region Header

/*
Remote views based on linq
By

Pascal Hauser 
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

and

Raphael Gfeller
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

*/

#endregion

#region Usings

#endregion

namespace Sebastof.Services.Interfaces {
	/// <summary>
	/// is responsible for
	/// - adding values to a cache
	/// - removing values from the cache
	/// - marking values in the cache as invalid
	/// </summary>
	public interface ICachedDataRegistrationService {
		#region Public Methods

		/// <summary>
		/// adds the given object into the cache
		/// </summary>
		/// <param name="key"></param>
		/// <param name="data"></param>
		void AddOrUpdateCachedValue(string key, object data);

		/// <summary>
		/// removes the given entry
		/// </summary>
		/// <param name="key"></param>
		void RemoveCachedValue(string key);

		/// <summary>
		/// Markes the cached value as invalid
		/// </summary>
		/// <param name="key"></param>
		void InvalidateObject(string key);

		#endregion
	}
}